In [1]:
rm(list=ls())
gc()
setwd("/hpc/group/pbenfeylab/CheWei/")
| used | (Mb) | gc trigger | (Mb) | max used | (Mb) | |
|---|---|---|---|---|---|---|
| Ncells | 622070 | 33.3 | 1353921 | 72.4 | 1075910 | 57.5 |
| Vcells | 1153590 | 8.9 | 8388608 | 64.0 | 1802277 | 13.8 |
In [2]:
as.numeric(system("awk '/MemFree/ {print $2}' /proc/meminfo", intern=TRUE))
options(future.globals.maxSize = 600000 * 1024^2)
49839632
In [3]:
suppressMessages(library(Seurat))
suppressMessages(library(ggplot2))
suppressMessages(library(dplyr))
suppressMessages(library(ComplexHeatmap))
suppressMessages(library(circlize))
suppressMessages(library(RColorBrewer))
In [4]:
sessionInfo()
R version 4.2.2 (2022-10-31) Platform: x86_64-conda-linux-gnu (64-bit) Running under: AlmaLinux 9.3 (Shamrock Pampas Cat) Matrix products: default BLAS/LAPACK: /hpc/group/pbenfeylab/ch416/miniconda3/envs/seu3/lib/libopenblasp-r0.3.21.so locale: [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 [7] LC_PAPER=en_US.UTF-8 LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C attached base packages: [1] grid stats graphics grDevices utils datasets methods [8] base other attached packages: [1] RColorBrewer_1.1-3 circlize_0.4.15 ComplexHeatmap_2.14.0 [4] dplyr_1.0.10 ggplot2_3.4.0 Seurat_3.1.5 loaded via a namespace (and not attached): [1] nlme_3.1-161 tsne_0.1-3.1 matrixStats_0.63.0 [4] doParallel_1.0.17 RcppAnnoy_0.0.20 httr_1.4.4 [7] repr_1.1.4 sctransform_0.3.5 tools_4.2.2 [10] utf8_1.2.2 R6_2.5.1 irlba_2.3.5.1 [13] KernSmooth_2.23-20 BiocGenerics_0.44.0 uwot_0.1.14 [16] DBI_1.1.3 lazyeval_0.2.2 colorspace_2.0-3 [19] GetoptLong_1.0.5 withr_2.5.0 tidyselect_1.2.0 [22] gridExtra_2.3 compiler_4.2.2 cli_3.6.0 [25] plotly_4.10.1 scales_1.2.1 lmtest_0.9-40 [28] ggridges_0.5.4 pbapply_1.6-0 pbdZMQ_0.3-8 [31] stringr_1.5.0 digest_0.6.31 base64enc_0.1-3 [34] pkgconfig_2.0.3 htmltools_0.5.4 parallelly_1.33.0 [37] fastmap_1.1.0 GlobalOptions_0.1.2 htmlwidgets_1.6.1 [40] rlang_1.0.6 shape_1.4.6 generics_0.1.3 [43] zoo_1.8-11 jsonlite_1.8.4 ica_1.0-3 [46] magrittr_2.0.3 patchwork_1.1.2 Matrix_1.5-3 [49] S4Vectors_0.36.1 Rcpp_1.0.9 IRkernel_1.3.1.9000 [52] munsell_0.5.0 fansi_1.0.3 ape_5.6-2 [55] reticulate_1.27 lifecycle_1.0.3 stringi_1.7.8 [58] MASS_7.3-58.1 Rtsne_0.16 plyr_1.8.8 [61] parallel_4.2.2 listenv_0.9.0 ggrepel_0.9.2 [64] crayon_1.5.2 lattice_0.20-45 IRdisplay_1.1 [67] cowplot_1.1.1 splines_4.2.2 pillar_1.8.1 [70] igraph_1.3.5 uuid_1.1-0 rjson_0.2.21 [73] stats4_4.2.2 future.apply_1.10.0 reshape2_1.4.4 [76] codetools_0.2-18 leiden_0.4.3 glue_1.6.2 [79] evaluate_0.19 data.table_1.14.6 foreach_1.5.2 [82] png_0.1-8 vctrs_0.5.1 gtable_0.3.1 [85] RANN_2.6.1 purrr_1.0.0 tidyr_1.2.1 [88] clue_0.3-63 future_1.30.0 assertthat_0.2.1 [91] rsvd_1.0.5 survival_3.4-0 viridisLite_0.4.1 [94] tibble_3.1.8 iterators_1.0.14 IRanges_2.32.0 [97] cluster_2.1.4 globals_0.16.2 fitdistrplus_1.1-8 [100] ROCR_1.0-11
In [5]:
pp.genes <- as.character(read.table("./CW_data/escoring/Root_sc/Protoplasting_DEgene_FC2_list.txt", header=F)$V1)
In [6]:
use.sample <- c('sc_12','dc1','dc2','sc_130','sc_134','sc_133','sc_137')
In [7]:
read_seu <- function(dir,sample.name) {
seu <- readRDS(dir)
seu@assays$spliced_RNA <- NULL
seu@assays$spliced_SCT <- NULL
seu@assays$unspliced_RNA <- NULL
seu@assays$unspliced_SCT <- NULL
return(seu)
}
list.filenames <- list.files(path = "./COPILOT_other_projects/to_be_integrate/",pattern=".rds$") %>% .[match(use.sample, gsub("_COPILOT.rds","",.))]
rc.list <- list()
for (i in 1:length(list.filenames))
{ print(i)
rc.list[[i]]<-read_seu(dir = paste0("./COPILOT_other_projects/to_be_integrate/",list.filenames[i]), sample.name = use.sample[i])
rc.list[[i]]$time.anno.Li <- gsub("_.*$","",rc.list[[i]]$time.celltype.anno.Li)
rc.list[[i]]$celltype.anno.Li <- gsub("^.*_","",rc.list[[i]]$time.celltype.anno.Li)
rc.list[[i]]$celltype.anno.Li <- gsub("^Distal ","",rc.list[[i]]$celltype.anno.Li)
rc.list[[i]]$celltype.anno.Li <- gsub("^Proximal ","",rc.list[[i]]$celltype.anno.Li)
rc.list[[i]]$celltype.anno.Li <- gsub("^Metaxylem","Xylem",rc.list[[i]]$celltype.anno.Li)
rc.list[[i]]$celltype.anno.Li <- gsub("^Protoxylem","Xylem",rc.list[[i]]$celltype.anno.Li)
rc.list[[i]]$celltype.anno.Li <- gsub("^Protophloem","Phloem",rc.list[[i]]$celltype.anno.Li)
rc.list[[i]]$celltype.anno.Li <- gsub("^Metaphloem & Companion Cell","Phloem",rc.list[[i]]$celltype.anno.Li)
}
names(rc.list) <- list.filenames %>% gsub("./COPILOT_other_projects/to_be_integrate/","",.)
#for (i in 1:length(list.filenames))
#{
# rc.list[[i]]<- suppressWarnings(suppressMessages(UpdateSeuratObject(rc.list[[i]])))
#}
#for (i in 1:length(list.filenames))
#{
# rc.list[[i]] <- FindVariableFeatures(rc.list[[i]], selection.method = "vst", nfeatures = 2000)
#}
[1] 1 [1] 2 [1] 3 [1] 4 [1] 5 [1] 6 [1] 7
In [8]:
rc.list
$sc_12_COPILOT.rds An object of class Seurat 49648 features across 10293 samples within 2 assays Active assay: SCT (23357 features, 23357 variable features) 1 other assay present: RNA 2 dimensional reductions calculated: pca, umap $dc1_COPILOT.rds An object of class Seurat 47748 features across 3378 samples within 2 assays Active assay: SCT (21818 features, 21818 variable features) 1 other assay present: RNA 2 dimensional reductions calculated: pca, umap $dc2_COPILOT.rds An object of class Seurat 47752 features across 3283 samples within 2 assays Active assay: SCT (22007 features, 22007 variable features) 1 other assay present: RNA 2 dimensional reductions calculated: pca, umap $sc_130_COPILOT.rds An object of class Seurat 47003 features across 6656 samples within 2 assays Active assay: SCT (21436 features, 21436 variable features) 1 other assay present: RNA 2 dimensional reductions calculated: pca, umap $sc_134_COPILOT.rds An object of class Seurat 47767 features across 7837 samples within 2 assays Active assay: SCT (22002 features, 22002 variable features) 1 other assay present: RNA 2 dimensional reductions calculated: pca, umap $sc_133_COPILOT.rds An object of class Seurat 48815 features across 8424 samples within 2 assays Active assay: SCT (22455 features, 22455 variable features) 1 other assay present: RNA 2 dimensional reductions calculated: pca, umap $sc_137_COPILOT.rds An object of class Seurat 48044 features across 2065 samples within 2 assays Active assay: SCT (21731 features, 21731 variable features) 1 other assay present: RNA 2 dimensional reductions calculated: pca, umap
In [9]:
rc.features <- SelectIntegrationFeatures(object.list = rc.list, nfeatures = 25000)
length(rc.features)
19735
In [10]:
## Remove Cell type specific DE genes
#rc.features <- rc.features[-c(sort(match(de, rc.features)))]
rc.features <- rc.features[-c(grep("ATMG",rc.features),grep("ATCG",rc.features),sort(match(pp.genes, rc.features)))]
length(rc.features)
17332
In [11]:
rc.list <- PrepSCTIntegration(object.list = rc.list, anchor.features = rc.features, verbose = TRUE)
In [12]:
# Use sc_12 as reference
rc.anchors <- suppressMessages(FindIntegrationAnchors(object.list = rc.list, normalization.method = "SCT",
anchor.features = rc.features, verbose = TRUE, reference=1))
Warning message in CheckDuplicateCellNames(object.list = object.list): “Some cell names are duplicated across objects provided. Renaming to enforce unique cell names.”
In [13]:
rc.integrated <- suppressMessages(IntegrateData(anchorset = rc.anchors, normalization.method = "SCT", verbose = TRUE))
Warning message: “Adding a command log without an assay associated with it”
In [ ]:
rc.integrated <- RunPCA(rc.integrated, npcs = 50, verbose = FALSE, approx = FALSE)
In [ ]:
#rc.integrated <- RunUMAP(rc.integrated, reduction = "pca", dims = 1:50, metric = "correlation", n.components = 3)
#rc.integrated <- RunUMAP(rc.integrated, reduction = "pca", dims = 1:50, umap.method = "umap-learn", metric = "correlation", n.components = 3)
#rc.integrated@reductions$umap_3D <- rc.integrated@reductions$umap
#rc.integrated <- suppressMessages(RunUMAP(rc.integrated, reduction = "pca", dims = 1:4))
rc.integrated <- RunUMAP(rc.integrated, reduction = "pca", dims = 1:50, umap.method = "umap-learn", metric = "correlation")
rc.integrated@reductions$umap_2D <- rc.integrated@reductions$umap
rc.integrated <- suppressMessages(FindNeighbors(rc.integrated, reduction = "pca",dims = 1:50))
rc.integrated <- suppressMessages(FindClusters(rc.integrated, resolution = 0.5, algorithm = 3))
In [42]:
saveRDS(rc.integrated, file = "./scRNA-seq/Integrated_Objects/rc.integrated_7S_GL2_lines_seu3_20240129.rds")
In [7]:
rc.integrated <- readRDS("./scRNA-seq/Integrated_Objects/rc.integrated_7S_GL2_lines_seu3_20240129.rds")
In [26]:
length(rownames(rc.integrated))
17332
In [20]:
rc.integrated
An object of class Seurat 71562 features across 41936 samples within 3 assays Active assay: integrated (17332 features, 17332 variable features) 2 other assays present: RNA, SCT 3 dimensional reductions calculated: pca, umap, umap_2D
UMAP¶
In [22]:
#rc.integrated[["umap"]]@cell.embeddings[,1] <- rc.integrated[["umap"]]@cell.embeddings[,1]*-1
#rc.integrated[["umap"]]@cell.embeddings[,2] <- rc.integrated[["umap"]]@cell.embeddings[,2]*-1
u2 <- rc.integrated@reductions$umap@cell.embeddings[,1]
u1 <- rc.integrated@reductions$umap@cell.embeddings[,2]
rc.integrated@reductions$umap@cell.embeddings[,1] <- u1
rc.integrated@reductions$umap@cell.embeddings[,2] <- u2
In [23]:
options(repr.plot.width=8, repr.plot.height=8)
DimPlot(rc.integrated, reduction = "umap", group.by = "seurat_clusters", label = TRUE)
In [24]:
options(repr.plot.width=8, repr.plot.height=8)
DimPlot(rc.integrated, reduction = "umap", group.by = "orig.ident", label = FALSE)
In [25]:
table(rc.integrated$orig.ident, rc.integrated$seurat_clusters)
0 1 2 3 4 5 6 7 8 9 10 11 12 13
dc1 462 206 177 301 115 158 183 540 72 76 504 94 128 5
dc2 407 268 214 317 111 132 227 445 61 77 386 67 132 8
sc_12 725 720 466 549 1043 618 857 289 470 839 298 350 339 349
sc_130 320 757 547 208 204 336 171 196 489 210 80 388 392 424
sc_133 805 489 346 449 311 493 328 449 630 161 282 596 442 218
sc_134 575 633 681 438 453 428 391 171 336 385 163 227 278 465
sc_137 159 200 141 120 96 123 79 96 83 71 104 71 58 51
14 15 16 17 18 19 20 21 22
dc1 37 12 15 29 72 130 25 2 35
dc2 41 38 8 36 81 139 40 9 39
sc_12 334 428 203 519 210 134 242 81 230
sc_130 385 210 278 185 146 250 208 168 104
sc_133 323 330 454 168 236 269 176 377 92
sc_134 312 342 244 258 357 141 217 182 160
sc_137 83 155 42 47 79 45 20 105 37
In [26]:
plot_anno <- function(rc.integrated){
order <- c("Quiescent Center", "Ground Tissue","Columella", "Lateral Root Cap", "Atrichoblast", "Trichoblast", "Cortex", "Endodermis", "Phloem","Protophloem", "Xylem", "Procambium","Pericycle","Phloem Pole Pericycle", "Protoxylem", "Metaxylem", "Unknown")
palette <- c("#9400d3", "#DCD0FF","#5ab953", "#bfef45", "#008080", "#21B6A8", "#82b6ff", "#0000FF","#e6194b", "#dd77ec", "#9a6324", "#ffe119", "#ff9900", "#ffd4e3", "#9a6324", "#ddaa6f", "#EEEEEE")
rc.integrated$celltype.anno.Li.crude <- factor(rc.integrated$celltype.anno.Li.crude, levels = order[sort(match(unique(rc.integrated$celltype.anno.Li.crude),order))])
color <- palette[sort(match(unique(rc.integrated$celltype.anno.Li.crude),order))]
p1 <- DimPlot(rc.integrated, reduction = "umap", group.by = "celltype.anno.Li.crude", cols=color)
p2 <- DimPlot(rc.integrated, reduction = "umap", group.by = "time.anno.Li.crude", order = c("Distal Columella","Proximal Columella","Distal Lateral Root Cap","Proximal Lateral Root Cap","Maturation","Elongation", "Transition Domain", "Proliferation Domain"),
cols = c('#F7E7B0','#FFC400','#2B871F','#005E3B',"#deebf7", "#3182bd", '#fee0d2','#de2d26'))
p3 <- DimPlot(rc.integrated, reduction = "umap", group.by = "consensus.time.group", cols=brewer.pal(10,"Spectral"))
p4 <- DimPlot(rc.integrated, reduction = "umap", group.by = "branch.anno")
options(repr.plot.width=16, repr.plot.height=12)
gl <- lapply(list(p1, p2, p3, p4), ggplotGrob)
gwidth <- do.call(unit.pmax, lapply(gl, "[[", "widths"))
gl <- lapply(gl, "[[<-", "widths", value = gwidth)
gridExtra::grid.arrange(grobs=gl, ncol=2)
}
In [27]:
prep <- function(seu){
seu$time.anno.Li.crude <- gsub("_.*$","",seu$time.celltype.anno.Li.crude)
seu$celltype.anno.Li.crude <- gsub("Distal Columella","Distal Columella_Columella",seu$time.celltype.anno.Li.crude)
seu$celltype.anno.Li.crude <- gsub("Distal Lateral Root Cap","Distal Lateral Root Cap_Lateral Root Cap",seu$celltype.anno.Li.crude)
seu$celltype.anno.Li.crude <- gsub("Proximal Columella","Proximal Columella_Columella",seu$celltype.anno.Li.crude)
seu$celltype.anno.Li.crude <- gsub("Proximal Lateral Root Cap","Proximal Lateral Root Cap_Lateral Root Cap",seu$celltype.anno.Li.crude)
seu$celltype.anno.Li.crude <- gsub("^.*_","",seu$celltype.anno.Li.crude)
return(seu)
}
In [28]:
rc.integrated <- prep(rc.integrated)
In [29]:
options(repr.plot.width=12, repr.plot.height=12)
plot_anno(rc.integrated)
In [30]:
DefaultAssay(rc.integrated) <- "SCT"
In [31]:
options(repr.plot.width=7, repr.plot.height=7)
FeaturePlot(rc.integrated, reduction = "umap", features = "GL2-BRI1-GFP", pt.size=1)
Remove sc_12, dc1, dc2¶
In [32]:
rc.sub <- subset(rc.integrated, cells=colnames(rc.integrated)[rc.integrated$orig.ident %in% c("sc_130", "sc_133", "sc_134", "sc_137")])
In [33]:
rc.sub
An object of class Seurat 71562 features across 24982 samples within 3 assays Active assay: SCT (24786 features, 0 variable features) 2 other assays present: RNA, integrated 3 dimensional reductions calculated: pca, umap, umap_2D
In [34]:
options(repr.plot.width=12, repr.plot.height=12)
plot_anno(rc.sub)
In [35]:
options(repr.plot.width=8, repr.plot.height=8)
DimPlot(rc.sub, reduction = "umap", group.by = "seurat_clusters", label = TRUE)
In [36]:
options(repr.plot.width=8, repr.plot.height=8)
DimPlot(rc.sub, reduction = "umap", group.by = "orig.ident", label = FALSE)
In [37]:
colnames(rc.sub@meta.data)
- 'orig.ident'
- 'nCount_RNA'
- 'nFeature_RNA'
- 'nCount_spliced_RNA'
- 'nFeature_spliced_RNA'
- 'nCount_unspliced_RNA'
- 'nFeature_unspliced_RNA'
- 'percent.mt'
- 'percent.cp'
- 'nCount_SCT'
- 'nFeature_SCT'
- 'nCount_spliced_SCT'
- 'nFeature_spliced_SCT'
- 'nCount_unspliced_SCT'
- 'nFeature_unspliced_SCT'
- 'pANN_0.25_0.15_943'
- 'DF.classifications_0.25_0.15_943'
- 'celltype.ID'
- 'timezone.ID'
- 'celltype.cor'
- 'timezone.cor'
- 'celltype.pvalue'
- 'timezone.pvalue'
- 'celltype.ID.P'
- 'timezone.ID.P'
- 'celltype.cor.P'
- 'timezone.cor.P'
- 'celltype.pvalue.P'
- 'timezone.pvalue.P'
- 'Rad.ID'
- 'Long.ID'
- 'Rad.cor'
- 'Long.cor'
- 'Rad.pvalue'
- 'Long.pvalue'
- 'Rad.ID.P'
- 'Long.ID.P'
- 'Rad.cor.P'
- 'Long.cor.P'
- 'Rad.pvalue.P'
- 'Long.pvalue.P'
- 'SCT_snn_res.5'
- 'seurat_clusters'
- 'seucluster.celltype.cor'
- 'seucluster.celltype.pvalue'
- 'seucluster.celltype.ID'
- 'seucluster.celltype.cor.P'
- 'seucluster.celltype.pvalue.P'
- 'seucluster.celltype.ID.P'
- 'seucluster.timezone.cor'
- 'seucluster.timezone.pvalue'
- 'seucluster.timezone.ID'
- 'seucluster.timezone.cor.P'
- 'seucluster.timezone.pvalue.P'
- 'seucluster.timezone.ID.P'
- 'seucluster.Rad.cor'
- 'seucluster.Rad.pvalue'
- 'seucluster.Rad.ID'
- 'seucluster.Rad.cor.P'
- 'seucluster.Rad.pvalue.P'
- 'seucluster.Rad.ID.P'
- 'seucluster.Long.cor'
- 'seucluster.Long.pvalue'
- 'seucluster.Long.ID'
- 'seucluster.Long.cor.P'
- 'seucluster.Long.pvalue.P'
- 'seucluster.Long.ID.P'
- 'predicted.id'
- 'prediction.score.Meristem.Atrichoblast'
- 'prediction.score.Elongation.Atrichoblast'
- 'prediction.score.Elongation.Cortex'
- 'prediction.score.Maturation.Columella'
- 'prediction.score.Meristem.Lateral.Root.Cap'
- 'prediction.score.Elongation.Pericycle'
- 'prediction.score.Elongation.Xylem'
- 'prediction.score.Elongation.Lateral.Root.Cap'
- 'prediction.score.Maturation.Pericycle'
- 'prediction.score.Elongation.Endodermis'
- 'prediction.score.Elongation.Phloem'
- 'prediction.score.Maturation.Procambium'
- 'prediction.score.Meristem.Putative.Quiescent.Center'
- 'prediction.score.Maturation.Endodermis'
- 'prediction.score.Maturation.Trichoblast'
- 'prediction.score.Maturation.Atrichoblast'
- 'prediction.score.Maturation.Cortex'
- 'prediction.score.Meristem.Phloem'
- 'prediction.score.Elongation.Columella'
- 'prediction.score.Elongation.Procambium'
- 'prediction.score.Meristem.Endodermis'
- 'prediction.score.Maturation.Xylem'
- 'prediction.score.Elongation.Trichoblast'
- 'prediction.score.Maturation.Lateral.Root.Cap'
- 'prediction.score.Meristem.Columella'
- 'prediction.score.Maturation.Phloem'
- 'prediction.score.Meristem.Stem.Cell.Niche'
- 'prediction.score.Meristem.Procambium'
- 'prediction.score.Meristem.Trichoblast'
- 'prediction.score.Meristem.Pericycle'
- 'prediction.score.Meristem.Cortex'
- 'prediction.score.Meristem.Xylem'
- 'prediction.score.max'
- 'time.celltype.anno'
- 'prediction.score.Atrichoblast'
- 'prediction.score.Cortex'
- 'prediction.score.Columella'
- 'prediction.score.Lateral.Root.Cap'
- 'prediction.score.Pericycle'
- 'prediction.score.Xylem'
- 'prediction.score.Endodermis'
- 'prediction.score.Phloem'
- 'prediction.score.Procambium'
- 'prediction.score.Putative.Quiescent.Center'
- 'prediction.score.Trichoblast'
- 'prediction.score.Stem.Cell.Niche'
- 'celltype.anno'
- 'prediction.score.Meristem'
- 'prediction.score.Elongation'
- 'prediction.score.Maturation'
- 'time.anno'
- 'prediction.score.T3'
- 'prediction.score.T7'
- 'prediction.score.T6'
- 'prediction.score.T2'
- 'prediction.score.T9'
- 'prediction.score.T4'
- 'prediction.score.T8'
- 'prediction.score.T0'
- 'prediction.score.T5'
- 'prediction.score.T1'
- 'consensus.time.group'
- 'prediction.score.Transition.Domain_Atrichoblast'
- 'prediction.score.Elongation_Atrichoblast'
- 'prediction.score.Elongation_Cortex'
- 'prediction.score.Distal.Columella'
- 'prediction.score.Proximal.Lateral.Root.Cap'
- 'prediction.score.Maturation_Cortex'
- 'prediction.score.Elongation_Phloem.Pole.Pericycle'
- 'prediction.score.Elongation_Protoxylem'
- 'prediction.score.Maturation_Xylem.Pole.Pericycle'
- 'prediction.score.Elongation_Endodermis'
- 'prediction.score.Elongation_Metaphloem...Companion.Cell'
- 'prediction.score.Maturation_Procambium'
- 'prediction.score.Elongation_Procambium'
- 'prediction.score.Proliferation.Domain_Atrichoblast'
- 'prediction.score.Elongation_Xylem.Pole.Pericycle'
- 'prediction.score.Maturation_Trichoblast'
- 'prediction.score.Maturation_Atrichoblast'
- 'prediction.score.Distal.Lateral.Root.Cap'
- 'prediction.score.Proliferation.Domain_Phloem.Pole.Pericycle'
- 'prediction.score.Transition.Domain_Endodermis'
- 'prediction.score.Transition.Domain_Trichoblast'
- 'prediction.score.Elongation_Trichoblast'
- 'prediction.score.Transition.Domain_Cortex'
- 'prediction.score.Maturation_Phloem.Pole.Pericycle'
- 'prediction.score.Elongation_Metaxylem'
- 'prediction.score.Transition.Domain_Phloem.Pole.Pericycle'
- 'prediction.score.Proliferation.Domain_Metaphloem...Companion.Cell'
- 'prediction.score.Proximal.Columella'
- 'prediction.score.Maturation_Protoxylem'
- 'prediction.score.Proliferation.Domain_Cortex'
- 'prediction.score.Proliferation.Domain_Trichoblast'
- 'prediction.score.Maturation_Metaphloem...Companion.Cell'
- 'prediction.score.Maturation_Endodermis'
- 'prediction.score.Transition.Domain_Metaphloem...Companion.Cell'
- 'prediction.score.Maturation_Protophloem'
- 'prediction.score.Proliferation.Domain_Endodermis'
- 'prediction.score.Proliferation.Domain_Quiescent.Center'
- 'prediction.score.Transition.Domain_Xylem.Pole.Pericycle'
- 'prediction.score.Proliferation.Domain_Metaxylem'
- 'prediction.score.Proliferation.Domain_Xylem.Pole.Pericycle'
- 'prediction.score.Transition.Domain_Metaxylem'
- 'prediction.score.Proliferation.Domain_Procambium'
- 'prediction.score.Transition.Domain_Procambium'
- 'prediction.score.Transition.Domain_Protophloem'
- 'prediction.score.Proliferation.Domain_Protoxylem'
- 'prediction.score.Elongation_Protophloem'
- 'prediction.score.Transition.Domain_Protoxylem'
- 'prediction.score.Proliferation.Domain_Protophloem'
- 'time.celltype.anno.Li'
- 'prediction.score.Elongation_Pericycle'
- 'prediction.score.Elongation_Xylem'
- 'prediction.score.Maturation_Pericycle'
- 'prediction.score.Elongation_Phloem'
- 'prediction.score.Proliferation.Domain_Pericycle'
- 'prediction.score.Transition.Domain_Pericycle'
- 'prediction.score.Proliferation.Domain_Phloem'
- 'prediction.score.Maturation_Xylem'
- 'prediction.score.Maturation_Phloem'
- 'prediction.score.Transition.Domain_Phloem'
- 'prediction.score.Proliferation.Domain_Xylem'
- 'prediction.score.Transition.Domain_Xylem'
- 'time.celltype.anno.Li.crude'
- 'prediction.score.Meristem_Atrichoblast'
- 'prediction.score.Meristem_Xylem.Pole.Pericycle'
- 'prediction.score.Meristem_Phloem.Pole.Pericycle'
- 'prediction.score.Meristem_Endodermis'
- 'prediction.score.Meristem_Trichoblast'
- 'prediction.score.Meristem_Cortex'
- 'prediction.score.Meristem_Metaphloem...Companion.Cell'
- 'prediction.score.Meristem_Quiescent.Center'
- 'prediction.score.Meristem_Protoxylem'
- 'prediction.score.Meristem_Metaxylem'
- 'prediction.score.Meristem_Procambium'
- 'prediction.score.Meristem_Protophloem'
- 'prediction.score.Meristem_Pericycle'
- 'prediction.score.Meristem_Phloem'
- 'prediction.score.Meristem_Xylem'
- 'time.celltype.anno.crude'
- 'prediction.score.Phloem.Pole.Pericycle'
- 'prediction.score.Protoxylem'
- 'prediction.score.Xylem.Pole.Pericycle'
- 'prediction.score.Metaphloem...Companion.Cell'
- 'prediction.score.Metaxylem'
- 'prediction.score.Protophloem'
- 'prediction.score.Quiescent.Center'
- 'celltype.anno.crude'
- 'prediction.score.non_branch'
- 'prediction.score.B2'
- 'prediction.score.B1'
- 'branch.anno'
- 'prediction.score.T14'
- 'prediction.score.T38'
- 'prediction.score.T23'
- 'prediction.score.T26'
- 'prediction.score.T35'
- 'prediction.score.T12'
- 'prediction.score.T33'
- 'prediction.score.T24'
- 'prediction.score.T46'
- 'prediction.score.T21'
- 'prediction.score.T25'
- 'prediction.score.T49'
- 'prediction.score.T29'
- 'prediction.score.T44'
- 'prediction.score.T34'
- 'prediction.score.T17'
- 'prediction.score.T30'
- 'prediction.score.T36'
- 'prediction.score.T47'
- 'prediction.score.T41'
- 'prediction.score.T18'
- 'prediction.score.T13'
- 'prediction.score.T15'
- 'prediction.score.T10'
- 'prediction.score.T19'
- 'prediction.score.T22'
- 'prediction.score.T32'
- 'prediction.score.T42'
- 'prediction.score.T48'
- 'prediction.score.T43'
- 'prediction.score.T37'
- 'prediction.score.T27'
- 'prediction.score.T16'
- 'prediction.score.T40'
- 'prediction.score.T28'
- 'prediction.score.T11'
- 'prediction.score.T39'
- 'prediction.score.T45'
- 'prediction.score.T31'
- 'prediction.score.T20'
- 'consensus.time.group.50'
- 'time.anno.Li'
- 'celltype.anno.Li'
- 'pANN_0.25_0.15_93'
- 'DF.classifications_0.25_0.15_93'
- 'pANN_0.25_0.15_88'
- 'DF.classifications_0.25_0.15_88'
- 'pANN_0.25_0.15_373'
- 'DF.classifications_0.25_0.15_373'
- 'SCT_snn_res.0.5'
- 'pANN_0.25_0.15_525'
- 'DF.classifications_0.25_0.15_525'
- 'pANN_0.25_0.15_1135'
- 'DF.classifications_0.25_0.15_1135'
- 'time.anno.Li.crude'
- 'celltype.anno.Li.crude'
- 'pANN_0.25_0.15_35'
- 'DF.classifications_0.25_0.15_35'
- 'integrated_snn_res.0.5'
In [38]:
options(repr.plot.width=8, repr.plot.height=8)
FeaturePlot(rc.sub, reduction = "umap", features = "nCount_SCT", pt.size=1)
In [39]:
options(repr.plot.width=8, repr.plot.height=8)
FeaturePlot(rc.sub, reduction = "umap", features = "prediction.score.Trichoblast", pt.size=1)
In [40]:
Idents(rc.sub) <- rc.sub$celltype.anno.Li.crude
In [41]:
options(repr.plot.width=8, repr.plot.height=8)
# you can plot raw counts as well
VlnPlot(rc.sub, features = c("GL2-BRI1-GFP"), slot="data")
In [43]:
saveRDS(rc.sub, file = "./scRNA-seq/Integrated_Objects/rc.integrated_4S_GL2_lines_seu3_20240129.rds")
In [ ]: